#ifndef ALGORITMOS_H_
#define ALGORITMOS_H_

#include "Estructuras.h"

//PARA LISTA PISTAS
TNodoPista *buscarProximaPista(void);
TNodoPista *buscarProximoPorSSTF(void);
TNodoPista *buscarProximoPorFSCAN(void);
TNodoPista *insertarPedidoEnPista(TNodoPedido *);
TNodoPista *buscarUltimoNodoPistas(void);
//PARA SUBLISTAS PEDIDOS
TNodoPedido *generarListaOrdenCrec(TNodoPedido *, TNodoPedido *);
TNodoPedido *sacarElementoDeSubLista( TNodoPedido *);//TNodoPedido *subLista
void insertarElementoEnSubLista( TNodoPedido *subLista, TNodoPedido *element);
TNodoPedido *buscarProxSector(TNodoPista *, pistaSector *);
//Funciones para el TRACE
pistaSector buscarProxSectorParaTrace(int32_t , int32_t );
pistaSector buscarProxSectorParaTraceSSTF(int32_t , int32_t);
pistaSector buscarProxSectorParaTraceFSCAN(int32_t, int32_t);
TCola *CrearCola(void);
void meterCola(TCola *,TNodoPedido *);
TNodoPedido *sacarElemento(TCola *);
//Funciones para el Log
void enumerarPedidos(char*,TNodoPista*);

#endif /* ALGORITMOS_H_ */
